package com.zj.roseojcodesandbox.security;

import java.security.Permission;

/**
 * 使用的安全管理器
 * 不允许的就直接抛异常
 */
public class MySecurityManager extends SecurityManager{

    /**
     * 检查所有的权限
     * 父类默认检测所有权限
     * @param perm
     */
    @Override
    public void checkPermission(Permission perm){
//        super.checkPermission(perm);
//        throw new SecurityException("权限不足" + perm.getActions());//全部权限都校验
    }

    /**
     * 检测程序是否可执行文件
     * @param cmd
     */
    @Override
    public void checkExec(String cmd) {
        super.checkExec(cmd);
    }

    /**
     * 检测程序是否可读文件
     * @param file
     */
    @Override
    public void checkRead(String file) {
//        throw new SecurityException("读权限不足");
        super.checkRead(file);
    }

    /**
     * 检测程序是否可写文件
     * @param file
     */
    @Override
    public void checkWrite(String file) {
        super.checkWrite(file);
    }

    /**
     * 检测程序是否可删文件
     * @param file
     */
    @Override
    public void checkDelete(String file) {
        super.checkDelete(file);
    }

    /**
     * 检测程序是否可以连接网络
     * @param host
     * @param port
     */
    @Override
    public void checkConnect(String host, int port) {
        super.checkConnect(host, port);
    }
}
